package cn.iocoder.yudao.module.wengfu.controller.admin.base.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 样品基础信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SampleBaseInfoRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19123")
    @ExcelProperty("主键ID")
    private Long id;

    @Schema(description = "取样编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32561")
    @ExcelProperty("取样编号")
    private String sampleId;

    @Schema(description = "化验编号", example = "7009")
    @ExcelProperty("化验编号")
    private String testId;

    @Schema(description = "样品类型：1-了解样, 2-流程样, 3-结算样", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("样品类型：1-了解样, 2-流程样, 3-结算样")
    private Integer sampleType;

    @Schema(description = "样品名称", example = "李四")
    @ExcelProperty("样品名称")
    private String sampleName;

    @Schema(description = "起始取样时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("取样时间")
    private LocalDateTime SampleTime;


    @Schema(description = "送样人员", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("送样人员")
    private String sampleSender;

    @Schema(description = "接样时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("接样时间")
    private LocalDateTime takerTime;

    @Schema(description = "接样人员", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("接样人员")
    private String sampleTaker;

    @Schema(description = "其他人员")
    @ExcelProperty("其他人员")
    private String otherPersonnel;

    @Schema(description = "客户归属：1-销售集团内 2-销售集团外（仅结算样填写）")
    @ExcelProperty("客户归属：1-销售集团内 2-销售集团外（仅结算样填写）")
    private Integer customerAffiliation;

    @Schema(description = "发矿单位")
    @ExcelProperty("发矿单位")
    private String miningUnit;

    @Schema(description = "发矿地点")
    @ExcelProperty("发矿地点")
    private String miningLocation;

    @Schema(description = "收矿地点")
    @ExcelProperty("收矿地点")
    private String receivingLocation;

    @Schema(description = "取样地点")
    @ExcelProperty("取样地点")
    private String samplingLocation;

    @Schema(description = "矿石种类", example = "2")
    @ExcelProperty("矿石种类")
    private String oreType;

    @Schema(description = "矿石属性")
    @ExcelProperty("矿石属性")
    private String oreProperty;

    @Schema(description = "数量")
    @ExcelProperty("数量")
    private BigDecimal quantity;

    @Schema(description = "分析项目（P2O5,MgO,H2O,全分析,手工分析）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("分析项目（P2O5,MgO,H2O,全分析,手工分析）")
    private String analyzeProject;

    @Schema(description = "水分(H2O)")
    @ExcelProperty("水分(H2O)")
    private BigDecimal h2o;

    @Schema(description = "审批状态：0-待提交 1-审批中 2-已通过 3-已驳回 4-已撤回", example = "2")
    @ExcelProperty("审批状态：0-待提交 1-审批中 2-已通过 3-已驳回 4-已撤回")
    private Integer approvalStatus;

    @Schema(description = "备注", example = "随便")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
